@import "variables.less";
@import "mixins.less";

// Global Components

body {
  .sans-serif;
  font-size: 15px;
  color: @gray;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

// -- Typography

p {
  line-height: 24px;
  margin: 30px 0;
  a {
    text-decoration: none !important;
    position: relative;
    color: @brand-primary !important;
  }
  a:hover {
    color: @brand-primary;
  }
  a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: @brand-primary;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
  }
  a:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

a {
  color: @gray-dark;
  &:hover,
  &:focus {
    color: @brand-primary;
    text-decoration: none;
    -webkit-transition-delay: 0s, 0s;
    -webkit-transition-duration: 0.2s, 0.2s;
    -webkit-transition-property: color, border-color;
    -webkit-transition-timing-function: ease, ease;
    transition-delay: 0s, 0s;
    transition-duration: 0.2s, 0.2s;
    transition-property: color, border-color;
    transition-timing-function: ease, ease;
  }
}

a img {
  &:hover,
  &:focus {
    cursor: zoom-in;
  }
}

blockquote {
  color: @gray;
  font-style: italic;
  padding: 5px 0px 5px 15px;
  > p {
    margin-top: 0px;
    font-size: 15px;
  }
}

hr.small {
  max-width: 100px;
  margin: 15px auto;
  border-width: 4px;
  border-color: white;
}

// Navigation

.navbar-custom {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  .sans-serif;
  .navbar-brand {
    font-weight: 800;
  }
  .nav {
    li {
      a {
        text-transform: uppercase;
        font-size: 12px;
        font-weight: 800;
      }
    }
  }
  @media only screen and (min-width: 768px) {
    background: transparent;
    border-bottom: 1px solid transparent;
    .navbar-brand {
      color: white;
      padding: 20px;
      &:hover,
      &:focus {
        color: @white-faded;
      }
    }

    .nav {
      li {
        a {
          color: white;
          padding: 20px;
          &:hover,
          &:focus {
            color: @white-faded;
          }
        }
      }
    }
  }
  @media only screen and (min-width: 1170px) {
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    &.is-fixed {
      /* when the user scrolls down, we hide the header right above the viewport */
      position: fixed;
      top: -61px;
      background-color: fade(white, 90%);
      border-bottom: 1px solid darken(white, 5%);
      -webkit-transition: -webkit-transform 0.3s;
      -moz-transition: -moz-transform 0.3s;
      transition: transform 0.3s;
      .navbar-brand {
        color: @gray-dark;
        &:hover,
        &:focus {
          color: @brand-primary;
        }
      }
      .nav {
        li {
          a {
            color: @gray-dark;
            &:hover,
            &:focus {
              color: @brand-primary;
            }
          }
        }
      }
    }

    &.is-visible {
      /* if the user changes the scrolling direction, we show the header */
      -webkit-transform: translate3d(0, 100%, 0);
      -moz-transform: translate3d(0, 100%, 0);
      -ms-transform: translate3d(0, 100%, 0);
      -o-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
  }
}

.post-hero {
  max-width: 100%;
  margin: 10px 0 0 0;
}

.intro-header {
  // NOTE: Background images are set within the HTML using inline CSS!
  background: no-repeat center center;
  .site-heading,
  .post-heading,
  .page-heading {
    padding: 100px 0 50px;
    color: white;
    @media only screen and (min-width: 768px) {
      padding: 150px 0;
    }
  }
  .site-heading,
  .page-heading {
    text-align: center;
    h1 {
      margin-top: 0;
      font-size: 50px;
    }
    .subheading {
      font-size: 24px;
      line-height: 1.1;
      display: block;
      .sans-serif;
      font-weight: 300;
      margin: 10px 0 0;
    }
    @media only screen and (min-width: 768px) {
      h1 {
        font-size: 80px;
      }
    }
  }
  .post-heading {
    h1 {
      font-size: 35px;
    }
    .subheading,
    .meta {
      line-height: 1.1;
      display: block;
    }
    .subheading {
      .sans-serif;
      font-size: 24px;
      margin: 10px 0 30px;
      font-weight: 600;
    }
    .meta {
      .sans-serif;
      font-style: italic;
      font-weight: 300;
      font-size: 20px;
      a {
        color: white;
      }
    }
    @media only screen and (min-width: 768px) {
      h1 {
        font-size: 55px;
      }

      .subheading {
        font-size: 30px;
      }
    }
  }
}

// Post Preview Pages

.post-preview {
  > a {
    color: @gray-dark;
    &:hover,
    &:focus {
      text-decoration: none;
      color: @brand-primary;
    }
    > .post-title {
      margin-top: 30px;
      margin-bottom: 10px;
      font-size: 20px;
    }
    > .post-subtitle {
      margin: 0;
      font-weight: 300;
      margin-bottom: 10px;
    }
  }
  > .post-title {
    font-weight: 500;
    font-size: 20px;
    text-transform: uppercase;
    font-family: 'Source Sans Pro', sans-serif !important;
  }
  > .post-meta {
    color: @white-faded;
    font-size: 13px;
    margin-top: 0;
    text-transform: uppercase;
    font-family: 'Source Sans Pro', sans-serif !important;
    > a {
      text-decoration: none;
      color: @gray-dark;
      &:hover,
      &:focus {
        color: @brand-primary;
        text-decoration: underline;
      }
    }
  }
  @media only screen and (min-width: 768px) {
    > a {
      > .post-title {
        font-size: 20px;
      }
    }
  }
}

.post-page-title {
  color: rgb(82, 82, 82);
  font-size: 30px;
  font-weight: 500;
  height: 33px;
  line-height: 33px;
  margin-bottom: 10px;
  margin-top: 20px;
  text-rendering: optimizelegibility;
  font-family: 'Source Sans Pro', sans-serif !important;
}

.post-page-meta {
  color: @white-faded;
  font-size: 13px;
  text-transform: uppercase;
  font-family: 'Source Sans Pro', sans-serif !important;
  margin-top: 15px !important;
  margin-bottom: -15px !important;
}

// Sections

.section-heading {
  font-size: 36px;
  margin-top: 60px;
  font-weight: 700;
}

.caption {
  text-align: center;
  font-size: 15px;
  padding: 10px;
  font-style: italic;
  margin: 0;
  display: block;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

// Button Styles

.btn {
  .sans-serif;
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 800;
  border-radius: 0;
  padding: 15px 25px;
}

.btn-lg {
  font-size: 15px;
  padding: 25px 35px;
}

.btn-default {
  &:hover,
  &:focus {
    background-color: @brand-primary;
    border: 1px solid @brand-primary;
    color: white;
  }
}

// Pager Styling

.pager {

  margin: 20px 0 20px 0;

  li {
    > a,
    > span {
      color: @white-faded;
      border: none;
      .sans-serif;
      text-transform: uppercase;
      font-size: 15px;
      font-weight: 400;
      padding: 15px 25px;
      background-color: white;
    }

    > a:hover,
    > a:focus {
      background-color: transparent;
      border: none;
    }
  }

  .disabled {
    > a,
    > a:hover,
    > a:focus,
    > span {
      color: @gray;
      background-color: @gray-dark;
      cursor: not-allowed;
    }
  }
}

img::selection {
  color: white;
  background: transparent;
}

img::-moz-selection {
  color: white;
  background: transparent;
}

ul.pager {
  > li {
    > a {
      padding: 0px !important;
    }
  }
}

.section-divider {
  margin-top: 55px !important;
}

table {
  border: 1px solid rgb(222, 224, 223);
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  border-collapse: collapse;
  box-sizing: border-box;
  color: rgb(82, 82, 82);
  display: table;
}

th {
  padding: 5px;
  border: 1px solid rgb(222, 224, 223);
}

td {
  padding: 5px;
  border: 1px solid rgb(222, 224, 223);
}

#head-c {
  text-align: center;
  margin-top: 25px;
  margin-bottom: 40px;

  h1 {
    font-weight: 200;
    font-size: 55px;
  }

  #social {
    color: grey !important;
    font-size: 16px;
  }
}

#subtitle {
  font-family: 'Unthrift First Personal' !important;
  font-size: 32px;
  color: @gray;
  text-align: center;
}

#postSubtitle {
  margin-top: -20px;
}